package com.ltu.domain.mp_entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;

import org.springframework.data.annotation.Transient;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.ltu.domain.BaseEntity;
import com.ltu.domain.mp_entity.customize.CompanyEntity;

import lombok.experimental.Accessors;

/**
 * <p>
 * 支付记录
 * </p>
 * @author 若尘
 * @since 2022-02-21
 */
@Accessors(chain = true)
@TableName("sys_pay_record")
@ApiModel(value = "PayRecordEntity对象", description = "支付记录")
public class PayRecord extends BaseEntity {

	private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = " pay_source:支付来源 ")
	@TableField(value = "pay_source")
	private String paySource;
	@ApiModelProperty(value = " user_id:缴费人 ")
	@TableField(value = "user_id")
	private Integer userId;
	@ApiModelProperty(value = " order_id:订单id ")
	@TableField(value = "order_id")
	private Integer orderId;
	@ApiModelProperty(value = " order_no:订单编号 ")
	@TableField(value = "order_no")
	private String orderNo;
	@ApiModelProperty(value = " pay_name:支付说明 ")
	@TableField(value = "pay_name")
	private String payName;
	@ApiModelProperty(value = "拉起收银台后的签名")
	@TableField(value = "pay_sign")
	private String paySign;
	@ApiModelProperty(value = " pay_money:支付金额 ")
	@TableField(value = "pay_money")
	private Integer payMoney;
	@ApiModelProperty(value = " pay_way:支付方式1微信支付2支付宝 ")
	@TableField(value = "pay_way")
	private Byte payWay;
	@ApiModelProperty(value = "支付状态：0待支付1支付成功2拉起收银台成功,正在支付-1其他,-2取消支付")
	@TableField(value = "`status`")
	private Byte status;
	@ApiModelProperty(value = " status_desc:支付状态：待支付,支付成功,取消支付，支付超时 ")
	@TableField(value = "status_desc")
	private String statusDesc;
	@ApiModelProperty(hidden = true)
	@TableField(value = "transaction_id")
	private String transactionId;
	@ApiModelProperty(value = " is_expire:记录是否失效0否1是 ")
	@TableField(value = "is_expire")
	private Byte isExpire;
	@ApiModelProperty(value = " update_time:更新时间 ")
	@TableField(value = "update_time")
	private Date updateTime;
	@ApiModelProperty(value = " create_time:创建时间 ")
	@TableField(value = "create_time")
	private Date createTime;
	@ApiModelProperty(value = " is_handle:回调业务是否执行成功0否1是 ")
	@TableField(value = "is_handle")
	private Byte isHandle;
	  @ApiModelProperty(value = "所属公司")
	  private Integer companyId;
	  
	  @ApiModelProperty(value = "是否已发货")
	  private Integer sendState;
	  
	  private String openId;  
	
	
	public Integer getSendState() {
		return sendState;
	}
	public void setSendState(Integer sendState) {
		this.sendState = sendState;
	}
	public String getOpenId() {
		return openId;
	}
	public PayRecord setOpenId(String openId) {
		this.openId = openId;
		return  this;
	}
	public Integer getCompanyId() {
	return companyId;
	}
	public void setCompanyId(Integer companyId) {
	this.companyId = companyId;
	}
	
	@TableField(exist = false)
	@JsonIgnore
	@ApiModelProperty(hidden = true)
	private CompanyEntity  company;
	
	
	
	public CompanyEntity getCompany() {
		return company;
	}
	public void setCompany(CompanyEntity company) {
		this.company = company;
	}
	public String getTransactionId() {
		return transactionId;
	}
	public void setTransactionId(String transactionId) {
		this.transactionId = transactionId;
	}
	
	
		/**
		 * 回调业务是否执行成功0否1是
		 */
	    public Byte getIsHandle() {
	        return isHandle;
	    }
		/**
		 * 回调业务是否执行成功0否1是
		 */
	    public PayRecord setIsHandle(Byte isHandle) {
	       this.isHandle = isHandle;
	        return this;
	    }

	/**
	 * 支付来源
	 */
	public String getPaySource() {
		return paySource;
	}

	/**
	 * 支付来源
	 */
	public PayRecord setPaySource(String paySource) {
		this.paySource = paySource;
		return this;
	}

	/**
	 * 订单id
	 */
	public Integer getOrderId() {
		return orderId;
	}

	/**
	 * 订单id
	 */
	public PayRecord setOrderId(Integer orderId) {
		this.orderId = orderId;
		return this;
	}

	/**
	 * 订单编号
	 */
	public String getOrderNo() {
		return orderNo;
	}

	/**
	 * 订单编号
	 */
	public PayRecord setOrderNo(String orderNo) {
		this.orderNo = orderNo;
		return this;
	}
	
	/**
	 * 缴费人
	 */
	public Integer getUserId() {
		return userId;
	}

	/**
	 * 缴费人
	 */
	public PayRecord setUserId(Integer userId) {
		this.userId = userId;
		return this;
	}


	/**
	 * 支付说明
	 */
	public String getPayName() {
		return payName;
	}

	/**
	 * 支付说明
	 */
	public PayRecord setPayName(String payName) {
		this.payName = payName;
		return this;
	}

	/**
	 * 支付金额
	 */
	public Integer getPayMoney() {
		return payMoney;
	}

	/**
	 * 支付金额
	 */
	public PayRecord setPayMoney(Integer payMoney) {
		this.payMoney = payMoney;
		return this;
	}

	/**
	 * 支付方式1微信支付2支付宝
	 */
	public Byte getPayWay() {
		return payWay;
	}

	/**
	 * 支付方式1微信支付2支付宝
	 */
	public PayRecord setPayWay(Byte payWay) {
		this.payWay = payWay;
		return this;
	}

	public String getPaySign() {
		return paySign;
	}

	public void setPaySign(String paySign) {
		this.paySign = paySign;
	}

	/**
	 * 支付状态：0待支付1支付成功2拉起收银台成功,正在支付-1其他,-2取消支付
	 */
	public Byte getStatus() {
		return status;
	}

	/**
	 * 支付状态：0待支付1支付成功2拉起收银台成功,正在支付-1其他,-2取消支付
	 */
	public PayRecord setStatus(Byte status) {
		this.status = status;
		return this;
	}

	/**
	 * 支付状态：待支付,支付成功,取消支付，支付超时
	 */
	public String getStatusDesc() {
		return statusDesc;
	}

	/**
	 * 支付状态：待支付,支付成功,取消支付，支付超时
	 */
	public PayRecord setStatusDesc(String statusDesc) {
		this.statusDesc = statusDesc;
		return this;
	}

	/**
	 * 记录是否失效0否1是
	 */
	public Byte getIsExpire() {
		return isExpire;
	}

	/**
	 * 记录是否失效0否1是
	 */
	public PayRecord setIsExpire(Byte isExpire) {
		this.isExpire = isExpire;
		return this;
	}

	/**
	 * 更新时间
	 */
	public Date getUpdateTime() {
		return updateTime;
	}

	/**
	 * 更新时间
	 */
	public PayRecord setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	/**
	 * 创建时间
	 */
	public Date getCreateTime() {
		return createTime;
	}

	/**
	 * 创建时间
	 */
	public PayRecord setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}

}
